﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

namespace LastStand.gameContent
{
	/* Enemy Class will be the base class for enemies to appear on the screen.
	 * There will be different enemies but they all have the same information.
	 */
	public abstract class Enemy : Sprite
	{
		protected Vector2 navDest;

		protected float angle;

		//Has their timer reached 0, and the enemy
		//has reached their attack distance?
		protected Boolean canAttack;

		//attack distance for the enemy to be able
		//to attack.
		protected float attackDistance;

		//the target of the enemy
		protected float attackTarget;

		//the attack damage of the enemy.
		private float attackDamage;

		public float GetAttackDamage
		{
			get { return attackDamage; }
		}

		//the enemy's health
		protected float health;

		//the timer for the enemy so they can attack
		protected float attackTimer;

        protected virtual void attack() { }

		protected virtual void takeDamage() { }

		protected virtual void move(GameTimerEventArgs e) { }

	}
}
